home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / hpux_ftpd.nasl < prev    next >
Text File  |  2005-01-14  |  2KB  |  102 lines

  1. #
  2. # This script was written by Renaud Deraison <deraison@cvs.nessus.org>
  3. #
  4. #
  5. # See the Nessus Scripts License for details
  6. #
  7.  
  8.  
  9. if(description)
  10. {
  11.  script_id(10490);
  12.  script_bugtraq_id(1560);
  13.  script_version ("$Revision: 1.15 $");
  14.  script_cve_id("CVE-2000-0699");
  15.  
  16.  
  17.  name["english"] = "hpux ftpd PASS vulnerability";
  18.  name["francais"] = "VulnΘrabilitΘ PASS de ftpd de hpux";
  19.  
  20.  script_name(english:name["english"],
  21.              francais:name["francais"]);
  22.              
  23.  desc["english"] = "
  24. The remote ftp server does not sanitize properly the argument of
  25. the PASS command it receives for anonymous accesses.
  26.  
  27. It may be possible for a remote attacker
  28. to gain shell access.
  29.  
  30. Solution : Upgrade your ftpd server or disable anonymous
  31. access
  32. Risk factor : High";
  33.                  
  34.                  
  35. desc["francais"] = "
  36. Le serveur ftp ne vΘrifie pas correctement les arguments de la
  37. commande PASS pour les accΦs anonymes.
  38.  
  39. Il est possible d'obtenir un accΦs 
  40. shell en exploitant ce bug.
  41.  
  42. Solution : mettez α jour votre serveur ftpd ou dΘsactivez
  43. l'accΦs anonyme
  44. Facteur de risque : ElevΘ";
  45.                      
  46.  script_description(english:desc["english"],
  47.                     francais:desc["francais"]);
  48.                     
  49.  
  50.  script_summary(english:"Checks if the remote ftp sanitizes the PASS command",
  51.                 francais:"DΘtermine si le serveur ftp distant vΘrifie la commande PASS");
  52.  script_category(ACT_ATTACK);
  53.  script_family(english:"FTP", francais:"FTP");
  54.  
  55.  
  56.  script_copyright(english:"This script is Copyright (C) 2000 Renaud Deraison",
  57.                   francais:"Ce script est Copyright (C) 2000 Renaud Deraison");
  58.                   
  59.  script_dependencie("find_service_3digits.nasl");
  60.  script_require_ports("Services/ftp", 21);
  61.  exit(0);
  62. }
  63.  
  64. #
  65. # The script code starts here : 
  66. #
  67.  
  68. include("ftp_func.inc");
  69.  
  70. port = get_kb_item("Services/ftp");
  71. if(!port)port = 21;
  72. if(!get_port_state(port))exit(0);
  73.  
  74. # Connect to the FTP server
  75. soc = open_sock_tcp(port);
  76. ftpport = port;
  77. if(soc)
  78. {
  79.  r = ftp_recv_line(socket:soc);
  80.  if(!strlen(r))exit(0);
  81.  req = string("USER ftp\r\n");
  82.  send(socket:soc, data:req);
  83.  
  84.  r = ftp_recv_line(socket:soc);
  85.  if(!strlen(r))exit(0);
  86.  
  87.  
  88.  req = string("PASS %.2048d\r\n");
  89.  send(socket:soc, data:req);
  90.  r = ftp_recv_line(socket:soc);
  91.  
  92.  
  93.  if(ereg(string:r, pattern:"^230 .*"))
  94.  {
  95.   req = string("HELP\r\n");
  96.   send(socket:soc, data:req);
  97.   r = ftp_recv_line(socket:soc);
  98.   if(!r)security_hole(port);
  99.  }
  100.  close(soc);
  101. }
  102.